apiVersion: kubeadm.k8s.io/v1beta2
kind: InitConfiguration
bootstrapTokens:
- groups:
  - system:bootstrappers:kubeadm:default-node-token
  ttl: 0s
  usages:
  - signing
  - authentication
---
apiVersion: kubeadm.k8s.io/v1beta2
kind: ClusterConfiguration
kubernetesVersion: {{ kubernetes_version }}
controlPlaneEndpoint: {{ kubernetes_domain }}:6443
imageRepository: {{ image_repository }}
networking:
  podSubnet: {{ pod_subnet }}
  serviceSubnet: {{ service_subnet }}
etcd:
  local:
    extraArgs:
      listen-metrics-urls: http://0.0.0.0:2381
apiServer:
  certSANs:
  - localhost
  - 127.0.0.1
  - {{ kubernetes_domain }}
  - {{ master_vip }}
  extraArgs:
    service-node-port-range: 30000-60000
  extraVolumes:
  - name: host-time
    hostPath: /etc/localtime
    mountPath: /etc/localtime
    readOnly: true
controllerManager:
  extraArgs:
    bind-address: 0.0.0.0
  extraVolumes:
  - name: host-time
    hostPath: /etc/localtime
    mountPath: /etc/localtime
    readOnly: true
scheduler:
  extraArgs:
    bind-address: 0.0.0.0
  extraVolumes:
  - name: host-time
    hostPath: /etc/localtime
    mountPath: /etc/localtime
    readOnly: true
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: "ipvs"
---
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: systemd
kubeReserved:
  cpu: 200m
  memory: 250Mi
systemReserved:
  cpu: 200m
  memory: 250Mi
evictionHard:
  memory.available: 5%
evictionSoft:
  memory.available: 10%
evictionSoftGracePeriod:
  memory.available: 2m